Introducción a la programación GML 2: Sentencias de condición y expresiones
En el anterior capítulo de este artículo hablamos sobre la base de la programación y los criterios fundamentales a tener en cuenta a la hora de programar, pero en este artículo lo llevaremos más lejos. Hablaremos sobre las sentencias de condición y las expresiones. Como sabrán, una expresión es una pregunta que la computadora hace, y ésta sólo puede responder de dos formas. Verdadero y falso. Pero no sabemos cómo hacer una condición que limite la ejecución de un código. Existen muchos ejemplos de condiciones en la vida cotidiana, y todos ellos pueden ser usados como ejemplos en la programación. Por ejemplo: Si tengo hambre, como algo Si tengo sed, tomo agua Si tengo dinero, puedo comprar cosas Las expresiones y condiciones son una de las partes más fundamentales en cualquier programa o sistema, pueden servir para toda clase de cosas, como filtrar los usuarios que pueden entrar a un parque de diversiones, la estatura necesaria de las personas para subir a la montaña rusa, la edad necesaria para inscribirse en el gimnasio. Todas estas cosas son condiciones controladas por una expresión, y hay que poder controlar la lógica de programación para poder programarlas, ya que la programación no se trata de escribir cosas al azar para que la computadora ejecute. La programación se basa puramente en lógica matemática. Por ejemplo, imagina que eres un software informático que controla la gente que puede entrar al parque de diversiones, y tu prorgamación es sencilla: Si tiene más de 13 años, puede pasar Parece sencillo, ¿no? Y la verdad es que lo es. Ahora vamos a la programación real. La sentencia base de las condiciones es la sentencia if, la cual ejecutara la línea de código o bloque que se encuentre inmediatamente siguiente a ella. ¿Pero qué mierda dices? Pues antes debes conocer unos preconceptos para poder entender: Línea de código Una línea de código es toda sentencia que se encuentre en un sólo renglón de texto en la hoja donde estés programando, es decir que cada vez que das enter para saltar la línea, estás dividiendo el código en varias líneas de código. Bloques Un bloque es una serie de líneas de código que están agrupadas entre los operadores {'' y ''}. Un bloque sirve para poder encadenar más de una línea de código en una sentencia if o de cualquier tipo. Dentro de los bloques puedes agregar más condiciones, expresiones y sentencias. Después de conocer esto, estás listo para ver la estructura de la sentencia if: if '' '' Sabemos que '' es lo que el 'if' va a condicionar, y dependiendo del resultado, ejecutará la ''. ¿No me he explicado? Bien, vamos de nuevo. Si el resultado de la expresión es el que la computadora espera, se ejecutará la sentencia. De lo contrario, no se ejecutará. Bien, después de comprender lo que la sentencia if hace, podemos ver cómo escribiríamos el programa: Si tiene más de 13 años, puede pasar En programación: if edad > 13 pasar = true Sencillo ¿no? Ahora intenta reemplazar a expresión que el if está condicionando por cualquier otra ''if edad >= 14 pasar = true La estructura del ''if ''es de lo más sencillo, pero lo que acabas de ver no lo es todo. Esta sentencia cuenta con más posibilidades para condicionar de una mejor manera, y estas posibilidades complementan el ''if ''para aumentar su alcance: if else El ''if else es otra de las estructuras más usadas a la hora de programar, ya que ofrece la posibilidad de realizar otra sentencia en caso de que la expresión no sea la esperada, Puedes verlo de esta manera: ''Si tiene más de 13 años, puede pasar De lo contrario, no lo puede hacer El ''else ''tiene la función de comprobar si el resultado de la expresión que el if condiciona no es el esperado. El ''else debe escribirse después de la sentencia del if, así: if '' '' else ' Si la expresión es correcta, se ejecutará la sentencia1, si no lo es, se ejecutará la sentencia2. Esa es la función del ''if else''. Pongámoslo en práctica, hagamos un programa algo más complejo: hay 20 juegos si tiene 13 años o más, puede pasar a todos los juegos de lo contrario, si tiene más de 7, puede pasar a la mitad de los juegos, y si tiene menos, no puede pasar a ninguno Ahora podremos escribir este programa fácilmente de esta manera: juegos = 20 if edad >= 13 juegos_permitidos = juegos else {'' ''if edad > 7 juegos_permitidos = juegos/2 else juegos permitidos = 0 } El uso de los if en combinación con los else pueden ser muy útil a la hora de crear lógicas, pero a veces eso no es suficiente. Por ello, existen dos operadores que amplían el rango de la condición '''and El operador and es muy útil a la hora de comprobar varias expresiones a la vez. Esto permite ahorrar código y facilitar las cosas a la hora de pensar en la lógica. Un ejemplo: si tiene más de 13 años y mide más de 1.60 metros, puede pasar Ahí ya hemos comprobado dos expresiones en una misma condición. Una de las características del and, es que obliga a la sentencia a ejecutarse sólo si las dos expresiones son correctas. Si sólo una no lo es, no se ejecuta la sentencia. Podemos traducir el anterior ejemplo a programación de la siguiente manera: if edad >13 and estatura > 1.6 pasar = true Podemos observar cómo el and va a encadenar ambas expresiones en una misma condición. Podemos también reemplazar el operador and ''por el operador ''&&. or El operador or es muy similar a and, pero cuenta con la diferencia más notable que se les puede encontrar. Este operador hace que la condición evalue las expresiones de manera independiente, logrando así que si al menos una de las expresiones es correcta, la sentencia se ejecute. Si está casado o tiene novia, no puede ir a la fiesta El anterior programa impide que alguien vaya a la fiesta si alguna de las dos condiciones es correcta. Si está casado pero no tiene novia, no puede ir. Si no está casado pero tiene novia, no puede ir. Si está casado y tiene novia, no puede ir. Y si no está casado ni tampoco tiene novia, sí puede ir. El or se escribe de la misma manera que el and, así: if casado true or tiene_novia true puede_ir = false Con esto has aprendido a efectuar condiciones exitosamente. Nota que las expresiones no siempre se evaluan como verdaderas, también puedes usar el operador ''! ''para negar o el valor false, al igual que cualquier otro valor Si su casa no es azul, puede pintarla Lo podemos interpretar como: if color_de_la_casa != azul puede_pintar = true Categoría:Programación Categoría:Teconología Categoría:Lógica